package com.hemaapp.yjnh;

import com.hemaapp.HemaConfig;
import com.hemaapp.BaseConfig;
import com.hemaapp.yjnh.bean.SysInitInfo;
import com.hemaapp.hm_FrameWork.HemaHttpInfomation;

/**
 * 网络请求信息枚举类
 */
public enum BaseHttpInformation implements HemaHttpInfomation {
	// 注意登录接口id必须为HemaConfig.ID_LOGIN
	/**
	 * 后台服务接口根路径
	 */
	SYS_ROOT(0, BaseConfig.SYS_ROOT, "后台服务接口根路径", true),
	/**
	 * 系统初始化
	 */
	INIT(1, "index.php/webservice/index/init", "系统初始化", false),
	/**
	 * 申请随机验证码
	 */
	CODE_GET(2, "code_get", "申请随机验证码", false),
	/**
	 * 验证随机码
	 */
	CODE_VERIFY(3, "code_verify", "验证随机码", false),
	/**
	 * 登录
	 */
	CLIENT_LOGIN(HemaConfig.ID_LOGIN, "client_login", "登录", false),
	/**
	 * 退出登录
	 */
	CLIENT_LOGINOUT(4, "client_loginout", "退出登录", false),
	/**
	 * 用户注册
	 */
	CLIENT_ADD(5, "client_add", "用户注册", false),
	/**
	 * 保存用户资料
	 */
	CLIENT_SAVE(6, "client_save", "保存用户资料", false),
	/**
	 * 用户详情
	 */
	CLIENT_GET(7, "client_get", "用户详情", false),
	/**
	 * 用户列表
	 */
	CLIENT_LIST(8, "client_list", "用户列表", false),
	/**
	 * 修改并保存密码
	 */
	PASSWORD_SAVE(9, "password_save", "修改并保存密码", false),
	/**
	 * 验证用户名是否合法
	 */
	CLIENT_VERIFY(10, "client_verify", "验证用户名是否合法", false),
	/**
	 * 重设密码
	 */
	PASSWORD_RESET(11, "password_reset", "重设密码", false),
	/**
	 * 田家认证
	 */
	AUTH_SAVE(12, "auth_save", "田家认证", false),
	/**
	 * 上传文件（图片，音频，视频）
	 */
	FILE_UPLOAD(13, "file_upload", "上传文件（图片，音频，视频）", false),
    /**
     * 获取用户通知列表
     */
    NOTICE_LIST(14, "notice_list", "获取用户通知列表", false),
    /**
     * 保存用户通知操作
     */
    NOTICE_SAVEOPERATE(15, "notice_saveoperate", "保存用户通知操作", false),
	/**
	 * 获取图片列表
	 */
	IMG_LIST(16, "img_list", "获取相册列表信息", false),
	/**
	 * 获取地区（城市）列表信息
	 */
	DISTRICT_LIST(17, "district_list", "获取地区（城市）列表信息", false),
	/**
	 * 所有地区列表
	 */
	DISTRICT_ALL_GET(17, "district_all_get", "所有地区列表", false),
	/**
	 * 首页广告位列表
	 */
	INDEXAD_LIST(18, "indexad_list", "首页广告位列表", false),
	/**
	 * 热门区域列表
	 */
	HOTDISTRICT_LIST(19, "hotdistrict_list", "热门区域列表", false),
	/**
	 * 评论添加
	 */
	REPLY_ADD(20,"reply_add","评论添加",false),
	/**
	 * 评论列表
	 */
	REPLY_LIST(21,"reply_list","评论列表",false),
	/**
	 * 收藏删除
	 */
	LOVE_REMOVE(22,"love_remove","收藏删除",false),
	/**
	 * 帖子添加
	 */
	BLOG_ADD(23,"blog_add","帖子添加",false),
    /**
     * 帖子列表
     */
	BLOG_LIST(24,"blog_list","帖子列表",false),
	/**
	 * 帖子详情 
	 */
	BLOG_GET(25,"blog_get","帖子详情",false),
	/**
	 * 帖子操作
	 */
	BLOG_SAVEOPERATE(26,"blog_saveoperate","帖子操作",false),
	/**
	 * 关注收藏列表
	 */
	FOLLOW_COLLECT_LIST(27,"follow_collect_list","关注收藏列表",false),
	/**
	 * 关注收藏操作
	 */
	FOLLOW_COLLECT_SAVEOPERATE(28,"follow_collect_operator","关注收藏操作",false),
	/**
	 * 发布土地
	 */
	LAND_ADD(29,"land_add","发布土地",false),
	/**
	 * 土地作物列表
	 */
	LAND_GOODS_LIST(30,"land_goods_list","土地作物列表",false),
	/**
	 * 土地亩数保存
	 */
	LAND_MU_SAVE(30,"land_mu_save","土地亩数保存",false),
	/**
	 * 土地作物保存
	 */
	LAND_GOODS_SAVE(30,"land_goods_save","土地作物保存",false),
	/**
	 * 土地作物删除
	 */
	LAND_GOODS_DEL(30,"land_goods_del","土地作物删除",false),
	/**
	 * 土地作物详情(用于定制详情)
	 */
	LAND_GOODS_GET(31,"land_goods_get","土地作物详情(用于定制详情)",false),
	/**
	 * 添加购物车
	 */
	CART_ADD(32, "cart_add", " 添加购物车 ", false),
	/**
	 * 购物车列表
	 */
	CART_LIST(33, "cart_list", " 购物车列表 ", false),
	/**
	 * 购物车操作
	 */
	CART_SAVEOPERATE(34, "cart_saveoperate", " 购物车操作 ", false),
	/**
	 * 订单列表
	 */
	ORDER_LIST(35, "bill_list", "订单列表", false),
	/**
	 * 添加订单
	 */
	ORDER_ADD(36, "bill_save", " 添加订单 ", false),
	/**
	 * 订单操作
	 */
	ORDER_SAVEOPERATE(37, "bill_saveoperate", " 订单操作 ", false),
	/**
	 * 订单详情
	 */
	ORDER_GET(38, "bill_get", " 订单详情 ", false),
    /**
     * 收货地址列表
     */
    ADDRESS_LIST(39, "address_list", "收货地址列表", false),
    /**
     * 保存收货地址
     */
    ADDRESS_SAVE(40, "address_save", "添加收货地址", false),
	/**
	 * 硬件注册保存
	 */
	DEVICE_SAVE(41, "device_save", "硬件注册保存", false),
	/**
	 * 保存坐标
	 */
	POSITION_SAVE(42, "position_save", "保存坐标", false),
	/**
	 * 意见反馈
	 */
	ADVICE_ADD(43, "advice_add", "意见反馈", false),
	/**
	 * 账户信息
	 */
	ACCOUNT_GET(44, "account_get", "账户信息", false),
	/**
	 * 充值记录
	 */
	PAY_LIST(45, "pay_list", "充值记录", false),
	/**
	 * 余额购买
	 */
	FEEACCOUNT_REMOVE(46, "feeaccount_remove", "余额购买", false),
	/**
	 * 粮票转赠
	 */
	SCORE_SAVEOPERATOR(47, "score_saveoperator", "粮票转赠", false),
	/**
	 * 粮票消费记录
	 */
	SCORE_COST_LIST(48, "score_cost_list", "粮票消费记录", false),
	/**
	 * 粮票获取记录
	 */
	SCORE_GAIN_LIST(48, "score_gain_list", "粮票消费记录", false),
    /**
     * 支付宝保存
     * */
    ALI_SAVE(49, "alipay_save", "支付宝保存", false),
    /**
     * 保存用户提现银行卡信息
     */
    BANK_SAVE(50, "bank_save", "保存用户提现银行卡信息", false),
    /**
     * 获取银行列表
     */
    BANK_LIST(51, "bank_list", "获取银行列表", false),
	/**
	 * 用户增加提现申请
	 */
	CASH_ADD(52, "cash_add", "用户增加提现申请", false),
	/**
	 * 获取提现列表
	 */
	CASH_LIST(53, "cash_list", "获取提现列表", false),
	/**
	 * 获取支付宝交易签名串
	 */
	ALIPAY(54, "OnlinePay/Alipay/alipaysign_get.php", "获取支付宝交易签名串", false),
	/**
	 * 获取银联交易签名串
	 */
	UNIONPAY(55, "OnlinePay/Unionpay/unionpay_get.php", "获取银联交易签名串", false),
	/**
	 * 获取微信预支付交易会话标识
	 */
	WEIXINPAY(56, "OnlinePay/Weixinpay/weixinpay_get.php", "获取微信预支付交易会话标识",
			false),
	/**
	 * 走走商家地区列表
	 */
	TRAVEL_ADDRESS_LIST(57, "travel_address_list", "走走商家地区列表", false),
	/**
	 * 走走不可用日期列表
	 */
	TRAVEL_DATE_LIST(58, "travel_date_list", "走走不可用日期列表", false),
	/**
	 * 用户访问记录列表
	 */
	ACCESS_HISTORY_LIST(59, "access_history_list", "用户访问记录列表", false),
	/**
	 * 清空用户访问记录
	 */
	ACCESS_HISTORY_CLEAR(60, "access_history_clear", "清空用户访问记录", false),
	/**
	 * 获取售后列表
	 */
	SALE_SUPPORT_LIST(61, "afterservice_bill_list", "获取售后列表", false),
	/**
	 * 获取售后详情
	 */
	SALE_SUPPORT_GET(62, "afterservice_bill_get", "获取售后详情", false),
	/**
	 *  田家农货售后详情
	 */
	FARMER_AFTERSERVICE_GET(62, "farmer_afterservice_get", " 田家农货售后详情", false),
	/**
	 * 田家农货订单列表
	 */
	FARMER_ORDER_LIST(63, "farmer_order_list", "田家农货订单列表", false),
	/**
	 * 田家定制订单列表
	 */
	FARMER_CUSTOM_ORDER_LIST(63, "farmer_custombill_list", "田家定制订单列表", false),
	/**
	 * 田家土地定制列表
	 */
	FARMER_ORDERLAND_LIST(64, "farmer_orderland_list", "田家土地定制列表", false),
	/**
	 * 添加订单商品评论
	 */
	GOODS_REPLY_ADD(65, "goods_reply_add", "添加订单商品评论", false),
	/**
	 * 发送聊天消息
	 */
	MSG_ADD(66, "msg_add", "发送聊天消息", false),
	/**
	 * 获取聊天纪录
	 */
	MSG_LIST(65, "msg_list", "获取聊天纪录", false),
	/**
	 * 粮票购买
	 */
	SCORE_REMOVE(66, "score_remove", "粮票购买", false),
	/**
	 * 退货原因类别
	 */
	RETURNTYPE_LIST(67, "returntype_list", "退货原因类别", false),
	/**
	 * 家族列表
	 */
	FAMILY_LIST(68, "family_list", "家族列表", false),
	/**
	 * 真聊天消息推送
	 */
	CHATPUSH_ADD(69, "chatpush_add", "真聊天消息推送", false),
	/**
	 * 删除图片
	 */
	IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
	/**
	 * 获取商品属性列表
	 */
	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
	/**
	 * 易家推荐列表
	 */
	YIJIA_RECOMMEND(72, "yijia_recommend_list", "易家推荐列表", false),
	/**
	 *  特产民族列表
	 */
	NATION_LIST(73, "nation_list", " 特产民族列表", false),
	/**
	 * 发票内容列表
	 */
	BILLS_CONTENT_LIST(74, "bills_content_list", "发票内容列表", false),
	/**
	 *  购物车商品数量
	 */
	CART_COUNT(75, "cart_blogcount_get", " 购物车商品数量", false),
	/**
	 * 保存发票
	 */
	INVOICE_SAVE(76, "bill_bills_save", "保存发票", false),
	/**
	 * 模块广告位列表
	 */
	MODELAD_LIST(77, "modelad_list", "模块广告位列表", false),
	/**
	 *获取订单运费总和
	 */
	BILL_EXPRESSFEE_GET(78, "bill_expressfee_get", "获取订单运费总和", false),
	/**
	 * 金钱交易记录列表
	 */
	TRADE_LIST(79, "trade_list", "金钱交易记录列表", false),
	/**
	 * 评论删除
	 */
	REPLY_REMOVE(80, "reply_remove", "评论删除", false),
	/**
	 * 广告点击记录接口
	 */
	ADVISIT_RECORD(81, "advisit_record", "广告点击记录", false),
	/**
	 * 定制商品列表
	 */
	CUSTOM_BLOG_LIST(70, "custom_blog_list", "定制商品列表", false),
	/**
	 * 商品分类列表
	 */
	BLOGTYPE_LIST(71, "blogtype_list", "商品分类列表", false),
	/**
	 *  粮库分类下广告位列表
	 */
	BLOG_TYPE_AD_LIST(71, "blogtypead_list", " 粮库分类下广告位列表", false),
	/**
	 * 每日收益明细
	 */
	REBAT_LIST(70, "rebat_list", "删除图片", false),
	/**
	 * 实物商品规格详情
	 */
	BLOG_SPECNAME_GET(71, "blog_specname_get", "实物商品规格详情", false),
	/**
	 * 定制商品数量
	 */
	CUSTOM_BLOG_COUNT(71, "custom_blog_count", "定制商品数量", false),
	/**
	 * 定制商品详情
	 */
	CUSTOM_BLOG_GET(70, "custom_blog_get", "定制商品详情", false),
	/**
	 * 添加定制
	 */
	CUSTOM_GOODS_ADD(71, "custom_goods_add", "添加定制", false),
	/**
	 * 添加定制附加服务
	 */
	CUSTOM_ADDITION_ADD(70, "custom_addition_add", "添加定制附加服务", false),
	/**
	 * 通过规格获取商品详情
	 */
	BLOG_GET_BY_SPEC(71, "blog_get_bysepc", "通过规格获取商品详情", false),
	/**
	 * 田家农货问题订单
	 */
	FARMER_AFTERSERVICE_LIST(71, "farmer_afterservice_list", "田家农货问题订单", false),
	/**
	 * 新手指南列表
	 */
	GUIDE_LIST(70, "guide_list", "新手指南列表", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 删除图片
//	 */
//	IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 删除图片
//	 */
//	IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
	;

	private int id;// 对应NetTask的id
	private String urlPath;// 请求地址
	private String description;// 请求描述
	private boolean isRootPath;// 是否是根路径

	private BaseHttpInformation(int id, String urlPath, String description,
			boolean isRootPath) {
		this.id = id;
		this.urlPath = urlPath;
		this.description = description;
		this.isRootPath = isRootPath;
	}

	@Override
	public int getId() {
		return id;
	}

	@Override
	public String getUrlPath() {
		if (isRootPath)
			return urlPath;

		String path = SYS_ROOT.urlPath + urlPath;

		if (this.equals(INIT))
			return path;

		BaseApplication application = BaseApplication.getInstance();
		SysInitInfo info = application.getSysInitInfo();
		path = info.getSys_web_service() + urlPath;

		if (this.equals(ALIPAY))
			path = info.getSys_plugins() + urlPath;

		if (this.equals(UNIONPAY))
			path = info.getSys_plugins() + urlPath;

		if (this.equals(WEIXINPAY)) 
			path = info.getSys_plugins() + urlPath;
		
		return path;
	}

	@Override
	public String getDescription() {
		return description;
	}

	@Override
	public boolean isRootPath() {
		return isRootPath;
	}

}
